function trim(text) {
	return (text || "").replace( /^\s+|\s+$/g, "" );
};
function cookieHandler(name, value, options) {
	if (typeof value != 'undefined'){ // name and value given, set cookie
		options = options || {};
		if (value === null) {
			value = '';
			options.expires = -1;
		}
		var expires = '';
		if (options.expires	&& (typeof options.expires == 'number' || options.expires.toUTCString)) {
			var date;
			if (typeof options.expires == 'number') {
				date = new Date();
				date.setTime(date.getTime()	+ (options.expires * 24 * 60 * 60 * 1000));
			} else {
				date = options.expires;
			}
			expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
		}
		var path = options.path ? '; path=' + options.path : '';
		var domain = options.domain ? '; domain=' + options.domain : '';
		var secure = options.secure ? '; secure' : '';
		document.cookie = [name, '=', encodeURIComponent(value), expires, path,domain, secure].join('');
	} else { // only name given, get cookie
		var cookieValue = null;
		if (document.cookie && document.cookie != '') {
			var cookies = document.cookie.split(';');
			for (var i = 0; i < cookies.length; i++) {
				var cookie = trim(cookies[i]);
				// Does this cookie string begin with the name we want?
				if (cookie.substring(0, name.length + 1) == (name + '=')) {
					cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
					break;
				}
			}
		}
		return cookieValue;
	}
};

/**
 * checkbox 全选操作(需要依赖jQuery)
 * 
 * 全选：
 * 		@param $checkAll 全选元素的jQuery对象
 *		@param checkname 被全选的元素的name
 * 		用法：checkAll.init($("#checkAll"), "checkOne");
 * 全选检查：
 * 		@param checkname 被全选的元素的name
 * 		@return 返回被选中的数组,如果没有选中项，则返回null
 * 		var arr = checkAll.check("checkOne");
 */
var checkAll = {
	init : function($checkAll,checkname){
		$checkAll.click(function(){
			var checkBoxes = $('[type="checkbox"][disabled!=true][name="'+checkname+'"]');
			if($(this).attr('checked')){
				checkBoxes.attr('checked','checked');
			}else{
				checkBoxes.attr('checked','');
			}
		});	
	},
	check : function(checkname){
		var arr = [];
		$('[type="checkbox"][name="' + checkname + '"]:checked').each(function(){
			arr.push($(this).val());
		});
		if(arr.length == 0){
			arr = null;
			$('body').mBox({message:'请选择以后在操作！',fontcolor:'red'});
		}
		return arr;
	}
}
/**
 * 文本域 使用Tab
 * TextAreaTab.Register(document.getElementById('content_record'));//初始化文本域的TAB功能键
 */
var TextAreaTab = {
	Register : function(obj) {
		// 绑定事件
		obj.onclick = new Function('TextAreaTab.CreateInsertPosition(this)');
		obj.onselect = new Function('TextAreaTab.CreateInsertPosition(this)');
		obj.onkeyup = new Function('TextAreaTab.CreateInsertPosition(this)');
		obj.onkeydown = new Function('TextAreaTab.InsertTab(this)');
	},
	// 这个只对ie有用
	// 创建光标所在位置的对象，就是要插入的位置。
	// 其实就是光标选中的对象，对它进行操作就可以了。
	CreateInsertPosition : function(obj) {
		if (obj.createTextRange){// IE
			obj.InsertPosition = document.selection.createRange().duplicate(); // 光标选中的对象
		}
	},
	InsertTab : function(obj) {
		var evt = this.GetEvent(); // 返回 event 对象
		if (evt.keyCode == 9){ // 按下了Tab键
			if (obj.createTextRange && obj.InsertPosition){ // IE
				// 赋予对象内容
				obj.InsertPosition.text = '\t';
				evt.returnValue = false;
			} else if (window.getSelection){ // FF
				var scrollTop = obj.scrollTop; // 滚动的位置
				var start = obj.selectionStart; // 当前光标所在位置
	
				var pre = obj.value.substr(0, obj.selectionStart); // 光标之前的内容
				var next = obj.value.substr(obj.selectionEnd); // 光标之后的内容
				obj.value = pre + '\t' + next;
	
				evt.preventDefault();
				// 设置光标在插入点之后的位置
				obj.selectionStart = start + 1;
				obj.selectionEnd = start + 1;
				obj.scrollTop = scrollTop;
			}
		}
	},
	// 返回 event 对象
	GetEvent : function() {
		if (document.all){ // IE
			return window.event;
		}

		func = this.GetEvent.caller;
		while (func != null) {
			var arg0 = func.arguments[0];
			if (arg0) {
				if ((arg0.constructor == Event || arg0.constructor == MouseEvent)
						|| (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {
					return arg0;
				}
			}
			func = func.caller;
		}
		return null;
	}
};